昨天我們用 git init
建立了一個全新的 Git 世界,但目前這個世界就像你的私人日記,只有你一個人知道它的存在。
不過,現實開發中,專案通常不只是自己玩 。你可能想:
這時候,就需要今天的主角登場——git remote
。
它就像是給你的 Git 世界裝上了「傳送門」,把本地專案和遠端倉庫連接起來。
從此,你的 commit 不再孤單旅行,而是進入共享世界,和團隊一起「飛越時空」 。
git remote
?遠端(remote)是指 儲存在其他伺服器上的 Git 倉庫。作用包括:
簡單來說,remote 就是「遠端倉庫的暱稱」。
每個遠端可以有一個簡短名稱,例如最常見的 origin
,方便後續操作。
git remote add <remoteName> <URL>
git remote add origin https://github.com/yourname/project.git
origin
是慣例名稱,表示「專案的來源」。也可以使用其他名稱,例如用 github
:
git remote add github https://github.com/yourname/project.git
git remote rename <oldNmae> <newName>
git remote rename origin gitlab
rename
重新命名遠端名稱,會把 origin
改成 gitlab
。git remote set-url origin <newURL>
git remote set-url origin git@github.com:yourname/project.git
git remote -v
-v
verbose 詳細顯示新增的遠端及其 fetch / push 的 URL,來確認設定是否正確。範例輸出:
origin git@github.com:yourname/project.git (fetch)
origin git@github.com:yourname/project.git (push)
git remote remove origin
git remote rm origin #縮寫
第一次把分支推到遠端時,Git 不知道要對應到哪裡,所以需要指定上游分支:
git push --set-upstream origin main
git push -u origin main #縮寫
-u
會建立一個「追蹤關係」(upstream tracking)。
告訴 Git:本地的 main
分支要對應遠端 origin/main
分支。
之後在這個分支上,就可以直接用:
git push # 會自動推到 origin/main
git pull # 會自動從 origin/main 拉取
而不用每次都打 git push origin main
。
遠端只是「指標」,不會自動同步內容,要搭配:
git push
:把本地 commit 傳到遠端git pull
:把遠端更新拉到本地[ Local Repo ] <-- push/pull --> [ Remote Repo (GitHub) ]
(先知道就好,系列後續會展開說明)
只 init 沒有 remote
→ git push
會報錯,Git 不知道要推去哪裡。
URL 打錯
→ git clone
或 git push
會失敗,用 git remote -v
檢查。
分支對不上
→ 第一次推送要加 -u
,確保本地分支與遠端分支建立追蹤關係。
origin
。git remote -v
已無該遠端。git remote
是連結本地與遠端的橋樑git push
/ git pull
與團隊協作接下來,我們就要學習如何把本地的 commit 送到遠端,正式開始多人協作的旅程! 🚀